﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using System.Data.SqlClient;
using s2b.ControleDesenvolvimentoProjetos.Dados.OBJ;
using System.Text;
using s2b.ControleDesenvolvimentoProjetos.Util.Auxiliar;

namespace s2b.ControleDesenvolvimentoProjetos.UserControls
{
    public partial class WUCTarefasCompleto : System.Web.UI.UserControl
    {
        Table tblComentariosPrincipal = new Table();

        Table tblFeedbacksPrincipal = new Table();
        protected void Page_Load(object sender, EventArgs e)
        {

            try
            {
                tblFeedbacksPrincipal.Width = 750;
                tblComentariosPrincipal.Width = 750;
               // int cargaHorariaProjeto = 0;
                tblComentariosPrincipal.BorderColor = Color.DarkSlateBlue;
                tblComentariosPrincipal.BorderStyle = BorderStyle.Solid;
                tblComentariosPrincipal.BorderWidth = 1;

                //TableRow row = new TableRow();
                //TableCell cel = new TableCell();

                //ImageButton btn = new ImageButton();
                //btn.ImageUrl = "/Util/Imagens/comentario.png";
                //cel.Controls.Add(btn);
                //row.Controls.Add(cel);
                //tblComentariosPrincipal.Controls.Add(row);


                tblFeedbacksPrincipal.BorderColor = Color.DarkSlateBlue;
                tblFeedbacksPrincipal.BorderStyle = BorderStyle.Solid;
                tblFeedbacksPrincipal.BorderWidth = 1;
                if (Request.QueryString["ID_TAREFA"] != null || Request.QueryString["ID_PROJETO"] != null)
                {
                    int cargaHorariaProjeto = 0;
                    SqlDataReader executa;

                    if (Request.QueryString["ID_TAREFA"] != null)
                    {
                        executa = Auxiliar.RetornaRegistros(String.Format(@"SELECT     P.CARGA_HORARIA
FROM         TAREFAS AS T INNER JOIN
                      PROJETO AS P ON P.ID_PROJETO = T.ID_PROJETO
WHERE     (T.ID_TAREFA = {0})", Request.QueryString["ID_TAREFA"]), Projeto.Tabela);
                        if (executa != null)
                        {
                            while (executa.Read())
                            {
                                cargaHorariaProjeto = Convert.ToInt32(executa[Projeto.CargaHoraria]);
                            }
                        }

                        executa = Auxiliar.RetornaRegistros(string.Format(@"SELECT * FROM {0} WHERE {1} = {2}", Tarefa.Tabela, Tarefa.Id, Request.QueryString["ID_TAREFA"]), Tarefa.Tabela);

                    }
                    else
                    {
                        executa = Auxiliar.RetornaRegistros(String.Format("SELECT * FROM {0} WHERE {1} = {2}", Projeto.Tabela, Projeto.Id, Request.QueryString["ID_PROJETO"]), Projeto.Tabela);
                        if (executa != null)
                        {
                            while (executa.Read())
                            {
                                cargaHorariaProjeto = Convert.ToInt32(executa[Projeto.CargaHoraria]);
                            }
                        }

                        if (Request.QueryString["ID_PROJETO"] != null)
                        {
                            executa = Auxiliar.RetornaRegistros(String.Format("SELECT * FROM {0} WHERE {1} = {2}", Tarefa.Tabela, Tarefa.Projeto, Request.QueryString["ID_PROJETO"]), Tarefa.Tabela);

                        }
                    }



                    TabelaTarefas(cargaHorariaProjeto, executa);

                }
            }
            catch (Exception)
            {

                throw;
            }
           
        }
        


        public void TabelaTarefas(int cargaHorariaProjeto, SqlDataReader executa)
        {
            try
            {


                List<Tarefa> tarefas = new List<Tarefa>();

                Tarefa tarefa = new Tarefa();

                if (executa != null)
                {
                    while (executa.Read())
                    {
                        StringBuilder tablesFeedback = new StringBuilder();
                        tarefa.Carg_hor_utiliz_tarefa = Convert.ToInt32(executa[Tarefa.CargaHorariaUtilizada]);
                        tarefa.Carga_horaria_Tarefa = Convert.ToInt32(executa[Tarefa.CargaHorariaTarefa]);
                        tarefa.Detalhe_tarefa = executa[Tarefa.Detalhes].ToString();
                        tarefa.Dt_inicio_taref = Convert.ToDateTime(executa[Tarefa.DataInicio]);
                        tarefa.Dt_final_tarefa = Convert.ToDateTime(executa[Tarefa.DataFim]);
                        tarefa.Nome_tarefa = executa[Tarefa.Nome].ToString();
                        tarefa.Id_status = Convert.ToInt32(executa[Tarefa.Status]);
                        tarefa.Id_tarefa = Convert.ToInt32(executa[Tarefa.Id]);
                        tarefa.Id_func = Convert.ToInt32(executa[Tarefa.Funcionario]);
                        SqlDataReader executaAux = Auxiliar.RetornaRegistros(String.Format("SELECT * FROM {0} WHERE {1} = {2}", Status.Tabela, Status.Id, tarefa.Id_func), Status.Tabela);
                        if (executaAux != null)
                        {
                            while (executaAux.Read())
                            {
                                tarefa.Status1 = executaAux[Status.Descricao].ToString();
                                // status. = status.ToString();
                            }
                        }


                        tarefa.Porc_conclusao = Convert.ToDouble(executa[Tarefa.Porcentagem]);
                        tarefa.Porc_necessaria = Math.Round(((100.0 / tarefa.Carga_horaria_Tarefa) * tarefa.Carg_hor_utiliz_tarefa) <= 100.0 ? ((100.0 / tarefa.Carga_horaria_Tarefa) * tarefa.Carg_hor_utiliz_tarefa) : 100.0, 2);

                        tarefa.Porc_relacao_projeto = (tarefa.Carga_horaria_Tarefa / cargaHorariaProjeto) * 100;
                        tarefa.Porc_relacao_projeto_realizada = Math.Round((tarefa.Porc_relacao_projeto * tarefa.Porc_conclusao) / 100, 2);
                        executaAux = Auxiliar.RetornaRegistros(String.Format("SELECT * FROM {0} WHERE {1} = {2}", Funcionario.Tabela, Funcionario.Id, tarefa.Id_func), Funcionario.Tabela);
                        if (executaAux != null)
                        {
                            while (executaAux.Read())
                            {
                                StringBuilder funcionario = new StringBuilder();
                                funcionario.Append(executaAux[Funcionario.Nome].ToString());
                                funcionario.Append(" ");
                                funcionario.Append(executaAux[Funcionario.Sobrenome].ToString());
                                tarefa.Responsavel = funcionario.ToString();
                            }
                        }

                        List<Feedback> feedbacks = new List<Feedback>();
                        SqlDataReader executaFeedback = Auxiliar.RetornaRegistros(String.Format("SELECT * FROM {0} WHERE {1} = {2}", Feedback.Tabela, Feedback.IdTarefa, tarefa.Id_tarefa), Feedback.Tabela);
                        if (executa != null)
                        {

                            while (executaFeedback.Read())
                            {
                                Feedback feedback = new Feedback();
                                feedback.Desc_Feedback = executaFeedback[Feedback.Descricao].ToString();
                                feedback.Positivo1 = executaFeedback[Feedback.Positivo].ToString();
                                feedback.Id_Feedback = Convert.ToInt32(executaFeedback[Feedback.Id]);
                                feedback.Id_func = Convert.ToInt32(executaFeedback[Feedback.IdFunc]);
                                executaAux = Auxiliar.RetornaRegistros(String.Format("SELECT * FROM {0} WHERE {1} = {2}", Funcionario.Tabela, Funcionario.Id, feedback.Id_func), Funcionario.Tabela);
                                if (executaAux != null)
                                {
                                    while (executaAux.Read())
                                    {
                                        StringBuilder funcionario = new StringBuilder();
                                        funcionario.Append(executaAux[Funcionario.Nome].ToString());
                                        funcionario.Append(" ");
                                        funcionario.Append(executaAux[Funcionario.Sobrenome].ToString());
                                        feedback.Responsavel = funcionario.ToString();

                                    }
                                }
                                StringBuilder tableComentario = new StringBuilder();
                                SqlDataReader executaComentario = Auxiliar.RetornaRegistros(String.Format("SELECT * FROM {0} WHERE {1} = {2}", Comentario.Tabela, Comentario.ID_FEEDBACK_, feedback.Id_Feedback), Comentario.Tabela);
                                if (executaComentario != null)
                                {
                                    while (executaComentario.Read())
                                    {
                                        Comentario comentario = new Comentario();
                                        comentario.Comentario1 = executaComentario[Comentario.Comentarios].ToString();
                                        comentario.Id_func = Convert.ToInt32(executaComentario[Comentario.ID_FUNC]);
                                        executaAux = Auxiliar.RetornaRegistros(String.Format("SELECT * FROM {0} WHERE {1} = {2}", Funcionario.Tabela, Funcionario.Id, feedback.Id_func), Funcionario.Tabela);
                                        if (executaAux != null)
                                        {
                                            while (executaAux.Read())
                                            {
                                                StringBuilder funcionario = new StringBuilder();
                                                funcionario.Append(executaAux[Funcionario.Nome].ToString());
                                                funcionario.Append(" ");
                                                funcionario.Append(executaAux[Funcionario.Sobrenome].ToString());
                                                comentario.Responsavel = funcionario.ToString();

                                                TabelaComentarios(comentario.Responsavel, comentario.Comentario1);
                                            }
                                        }


                                    }
                                }

                                TabelaFeedback(feedback.Responsavel, feedback.Positivo1, feedback.Desc_Feedback, feedback.Id_Feedback.ToString());

                            }
                        }


                        TabelaTarefas(tarefa.Nome_tarefa, tarefa.Detalhe_tarefa, tarefa.Dt_inicio_taref.ToString("dd/MM/yyyy"), tarefa.Dt_final_tarefa.ToString("dd/MM/yyyy"),
                          tarefa.Status1, tarefa.Carga_horaria_Tarefa.ToString(), tarefa.Carg_hor_utiliz_tarefa.ToString(), tarefa.Porc_conclusao.ToString(),
                          tarefa.Porc_necessaria.ToString(), tarefa.Porc_relacao_projeto.ToString(), "000", tarefa.Porc_relacao_projeto_realizada.ToString(), tarefa.Responsavel, tarefa.Id_tarefa.ToString());

                    }
                }


            }
            catch (Exception ex)
            {

                throw;
            }
            finally
            {

                Auxiliar.FecharConexao();
            }


        }


        public void TabelaTarefas(string nomeTarefa, string descTarefa, string dataInicial, string dataFinal, string status, string cargaHoraria, string cargaHorariaUtilizada, string porcentagemRealizada,
            string porcentagemNecessaria, string porcentagemRelacaoProjeto, string porcentagemRelacaoProjetoNecessaria,
            string porcentagemRelacaoProjetoRealizada, string responsavel, string idTarefa)
        {
            Table tarefa = new Table();

            tarefa.Width = 750;
            tarefa.BorderColor = Color.DarkSlateBlue;
            tarefa.BorderStyle = BorderStyle.Solid;
            tarefa.BorderWidth = 1;
            //row Tarefa
            #region
            TableRow rowTarefa = new TableRow();
            rowTarefa.BorderColor = Color.DarkSlateBlue;
            rowTarefa.BorderStyle = BorderStyle.Solid;
            rowTarefa.BorderWidth = 10;

            TableCell cellLblTarefa = new TableCell();
            TableCell cellTarefa = new TableCell();
            Label lblTarefa = new Label();
            lblTarefa.Text = "Tarefa";
            cellLblTarefa.Controls.Add(lblTarefa);

            Label lblConteudoTarefa = new Label();
            lblConteudoTarefa.Text = nomeTarefa;
            cellTarefa.Controls.Add(lblConteudoTarefa);


            rowTarefa.Controls.Add(cellLblTarefa);
            rowTarefa.Controls.Add(cellTarefa);
            tarefa.Controls.Add(rowTarefa);

            //row Descrição
            TableRow rowDescricao = new TableRow();
            TableCell cellLblDescricao = new TableCell();
            TableCell cellDescricao = new TableCell();

            Label lblDescricao = new Label();
            lblDescricao.Text = "Descrição";
            cellLblDescricao.Controls.Add(lblDescricao);

            Label lblConteudoDescricao = new Label();
            lblConteudoDescricao.Text = descTarefa;
            cellDescricao.Controls.Add(lblConteudoDescricao);



            rowDescricao.Controls.Add(cellLblDescricao);
            rowDescricao.Controls.Add(cellDescricao);
            tarefa.Controls.Add(rowDescricao);



            // row Data Inicial
            TableRow rowDtInicial = new TableRow();
            TableCell cellLblDtInicial = new TableCell();
            TableCell cellDtInicial = new TableCell();

            Label lblDtInicial = new Label();
            lblDtInicial.Text = "Data Inicial";
            cellLblDtInicial.Controls.Add(lblDtInicial);

            Label lblConteudoDtInicial = new Label();
            lblConteudoDtInicial.Text = dataInicial;
            cellDtInicial.Controls.Add(lblConteudoDtInicial);


            rowDtInicial.Controls.Add(cellLblDtInicial);
            rowDtInicial.Controls.Add(cellDtInicial);
            tarefa.Controls.Add(rowDtInicial);

            //row data final

            TableRow rowDtFinal = new TableRow();
            TableCell cellLblDtFinal = new TableCell();
            TableCell cellDtFinal = new TableCell();

            Label lblDtFinal = new Label();
            lblDtFinal.Text = "Data Final";
            cellLblDtFinal.Controls.Add(lblDtFinal);

            Label lblConteudoDtFinal = new Label();
            lblConteudoDtFinal.Text = dataFinal;
            cellDtFinal.Controls.Add(lblConteudoDtFinal);


            rowDtFinal.Controls.Add(cellLblDtFinal);
            rowDtFinal.Controls.Add(cellDtFinal);
            tarefa.Controls.Add(rowDtFinal);


            // row status
            TableRow rowStatus = new TableRow();
            TableCell cellLblStatus = new TableCell();
            TableCell cellStatus = new TableCell();

            Label lblStatus = new Label();
            lblStatus.Text = "Status";
            cellLblStatus.Controls.Add(lblStatus);

            Label lblConteudoStatus = new Label();
            lblConteudoStatus.Text = status;
            cellStatus.Controls.Add(lblConteudoStatus);


            rowStatus.Controls.Add(cellLblStatus);
            rowStatus.Controls.Add(cellStatus);
            tarefa.Controls.Add(rowStatus);
            //carga horaria
            TableRow rowCargaHoraria = new TableRow();
            TableCell cellLblCargaHoraria = new TableCell();
            TableCell cellCargaHoraria = new TableCell();

            Label lblCargaHoraria = new Label();
            lblCargaHoraria.Text = "Carga Horária";
            cellLblCargaHoraria.Controls.Add(lblCargaHoraria);

            Label lblConteudoCargaHoraria = new Label();
            lblConteudoCargaHoraria.Text = cargaHoraria;
            cellCargaHoraria.Controls.Add(lblConteudoCargaHoraria);


            rowCargaHoraria.Controls.Add(cellLblCargaHoraria);
            rowCargaHoraria.Controls.Add(cellCargaHoraria);
            tarefa.Controls.Add(rowCargaHoraria);


            //row carga horaria utilizada
            TableRow rowCargaHorariaUtilizada = new TableRow();
            TableCell cellLblCargaHorariaUtilizada = new TableCell();
            TableCell cellCargaHorariaUtilizada = new TableCell();

            Label lblCargaHorariaUtilizada = new Label();
            lblCargaHorariaUtilizada.Text = "Carga Horária Utilizada";
            cellLblCargaHorariaUtilizada.Controls.Add(lblCargaHorariaUtilizada);

            Label lblConteudoCargaHorariaUtilizada = new Label();
            lblConteudoCargaHorariaUtilizada.Text = cargaHorariaUtilizada;
            cellCargaHorariaUtilizada.Controls.Add(lblConteudoCargaHorariaUtilizada);


            rowCargaHorariaUtilizada.Controls.Add(cellLblCargaHorariaUtilizada);
            rowCargaHorariaUtilizada.Controls.Add(cellCargaHorariaUtilizada);
            tarefa.Controls.Add(rowCargaHorariaUtilizada);



            //row porcentagem necessaria
            TableRow rowPorcentagemNecessaria = new TableRow();
            TableCell cellLblPorcentagemNecessaria = new TableCell();
            TableCell cellPorcentagemNecessaria = new TableCell();


            Label lblPorcentagemNecessaria = new Label();
            lblPorcentagemNecessaria.Text = "Porcentagem Necessária";
            cellLblPorcentagemNecessaria.Controls.Add(lblPorcentagemNecessaria);

            Label lblConteudoPorcentagemNecessaria = new Label();
            lblConteudoPorcentagemNecessaria.Text = porcentagemNecessaria;
            cellPorcentagemNecessaria.Controls.Add(lblConteudoPorcentagemNecessaria);

            rowPorcentagemNecessaria.Controls.Add(cellLblPorcentagemNecessaria);
            rowPorcentagemNecessaria.Controls.Add(cellPorcentagemNecessaria);
            tarefa.Controls.Add(rowPorcentagemNecessaria);


            //row porcentagem realizada
            TableRow rowPorcentagemRealizada = new TableRow();
            TableCell cellLblPorcentagemRealizada = new TableCell();
            TableCell cellPorcentagemRealizada = new TableCell();

            Label lblPorcentagemRealizada = new Label();
            lblPorcentagemRealizada.Text = "Porcentagem Realizada";
            cellLblPorcentagemRealizada.Controls.Add(lblPorcentagemRealizada);

            Label lblConteudoPorcentagemRealizada = new Label();
            lblConteudoPorcentagemRealizada.Text = porcentagemRealizada;
            cellPorcentagemRealizada.Controls.Add(lblConteudoPorcentagemRealizada);


            rowPorcentagemRealizada.Controls.Add(cellLblPorcentagemRealizada);
            rowPorcentagemRealizada.Controls.Add(cellPorcentagemRealizada);
            tarefa.Controls.Add(rowPorcentagemRealizada);


            //porcentagem relacao projeto
            TableRow rowPorcentagemRelacaoProjeto = new TableRow();
            TableCell cellLblPorcentagemRelacaoProjeto = new TableCell();
            TableCell cellPorcentagemRelacaoProjeto = new TableCell();

            Label lblPorcentagemRelacaoProjeto = new Label();
            lblPorcentagemRelacaoProjeto.Text = "Porcentagem em Relação ao Projeto";
            cellLblPorcentagemRelacaoProjeto.Controls.Add(lblPorcentagemRelacaoProjeto);

            Label lblConteudoPorcentagemRelacaoProjeto = new Label();
            lblConteudoPorcentagemRelacaoProjeto.Text = porcentagemRelacaoProjeto;
            cellPorcentagemRelacaoProjeto.Controls.Add(lblConteudoPorcentagemRelacaoProjeto);


            rowPorcentagemRelacaoProjeto.Controls.Add(cellLblPorcentagemRelacaoProjeto);
            rowPorcentagemRelacaoProjeto.Controls.Add(cellPorcentagemRelacaoProjeto);
            tarefa.Controls.Add(rowPorcentagemRelacaoProjeto);

            //  //row porcentagem relacaoProjetoNecessaria

            //TableRow rowPorcentagemRelacaoProjetoNecessaria = new TableRow();
            //TableCell cellLblPorcentagemRelacaoProjetoNecessaria = new TableCell();
            //TableCell cellPorcentagemRelacaoProjetoNecessaria = new TableCell();


            //Label lblPorcentagemRelacaoProjetoNecessaria = new Label();
            //lblPorcentagemRelacaoProjetoNecessaria.Text = "Porcentagem em Relação ao Projeto Necessaria";
            //cellLblPorcentagemRelacaoProjetoNecessaria.Controls.Add(lblPorcentagemRelacaoProjetoNecessaria);

            //Label lblConteudoPorcentagemRelacaoProjetoNecessaria = new Label();
            //lblConteudoPorcentagemRelacaoProjetoNecessaria.Text = porcentagemRelacaoProjetoNecessaria;
            //cellPorcentagemRelacaoProjetoNecessaria.Controls.Add(lblConteudoPorcentagemRelacaoProjetoNecessaria);

            //rowPorcentagemRelacaoProjetoNecessaria.Controls.Add(cellLblPorcentagemRelacaoProjetoNecessaria);
            //rowPorcentagemRelacaoProjetoNecessaria.Controls.Add(cellPorcentagemRelacaoProjetoNecessaria);
            //tarefa.Controls.Add(rowPorcentagemRelacaoProjetoNecessaria);


            //row porcentagem relacao projeto necessaria
            TableRow rowPorcentagemRelacaoProjetoRealizada = new TableRow();
            TableCell cellLblPorcentagemRelacaoProjetoRealizada = new TableCell();
            TableCell cellPorcentagemRelacaoProjetoRealizada = new TableCell();


            Label lblPorcentagemRelacaoProjetoRealizada = new Label();
            lblPorcentagemRelacaoProjetoRealizada.Text = "Porcentagem em Relação ao Projeto Realizada";
            cellLblPorcentagemRelacaoProjetoRealizada.Controls.Add(lblPorcentagemRelacaoProjetoRealizada);

            Label lblConteudoPorcentagemRelacaoProjetoRealizada = new Label();
            lblConteudoPorcentagemRelacaoProjetoRealizada.Text = porcentagemRealizada;
            cellPorcentagemRelacaoProjetoRealizada.Controls.Add(lblConteudoPorcentagemRelacaoProjetoRealizada);

            rowPorcentagemRelacaoProjetoRealizada.Controls.Add(cellLblPorcentagemRelacaoProjetoRealizada);
            rowPorcentagemRelacaoProjetoRealizada.Controls.Add(cellPorcentagemRelacaoProjetoRealizada);
            tarefa.Controls.Add(rowPorcentagemRelacaoProjetoRealizada);
            //row reponsavel
            TableRow rowResponsavel = new TableRow();
            TableCell cellLblResponsavel = new TableCell();
            TableCell cellResponsavel = new TableCell();


            Label lblResponsavel = new Label();
            lblResponsavel.Text = "Responsável";
            cellLblResponsavel.Controls.Add(lblResponsavel);

            Label lblConteudoResponsavel = new Label();
            lblConteudoResponsavel.Text = responsavel;
            cellResponsavel.Controls.Add(lblConteudoResponsavel);


            rowResponsavel.Controls.Add(cellLblResponsavel);
            rowResponsavel.Controls.Add(cellResponsavel);
            tarefa.Controls.Add(rowResponsavel);

            #endregion
            //Table t = new Table();
            //t.BorderColor = Color.Blue;
            //t.BorderStyle = BorderStyle.Solid;
            //t.BorderWidth = 1;
            //TableRow r = new TableRow();
            //TableCell c = new TableCell();
            //Label l = new Label();
            //l.Text = "OI";
            //c.Controls.Add(l);
            //r.Controls.Add(c);
            //t.Controls.Add(r);
            if (tblFeedbacksPrincipal != null)
            {
                if (tblFeedbacksPrincipal.Rows.Count > 0)
                {
                    TableRow row = new TableRow();
                    TableCell cel = new TableCell();

                    ImageButton btnFeedback = new ImageButton();
                    btnFeedback.ImageUrl = "/Util/Imagens/feedback.png";
                    btnFeedback.Click += new ImageClickEventHandler(btnFeedback_Click);
                    btnFeedback.ID = "Feedback" + idTarefa;
                    // btnAlterar.Click += new EventHandler(btnAlterar_Click);

                    cel.Controls.Add(btnFeedback);
                    row.Controls.Add(cel);
                    tarefa.Controls.Add(row);
                    Panel pnlFeedaback = new Panel();
                    pnlFeedaback.Visible = false;
                    pnlFeedaback.ID = "pnlFeedback" + idTarefa;
                    pnlFeedaback.Controls.Add(tblFeedbacksPrincipal);
                    //UpdatePanel updtFeedback = new UpdatePanel();
                    //  updtFeedback.ContentTemplateContainer.Controls.Add(pnlFeedaback);



                    TableRow rowFeedback = new TableRow();
                    TableCell cellFeedback = new TableCell();
                    cellFeedback.ColumnSpan = 2;
                    cellFeedback.Controls.Add(pnlFeedaback);
                    rowFeedback.Controls.Add(cellFeedback);
                    tarefa.Controls.Add(rowFeedback);
                }
            }
            // TableRow roww = new TableRow();
            // TableCell cell = new TableCell();
            // cell.Controls.Add(tarefa);
            // roww.Controls.Add(cell);
            //// tblTarefasPrincipal.Controls.Add(roww);

            Panel1.Controls.Add(tarefa);
            tblFeedbacksPrincipal = null;


            tblFeedbacksPrincipal = new Table();

            tblFeedbacksPrincipal.BorderColor = Color.DarkSlateBlue;
            tblFeedbacksPrincipal.BorderStyle = BorderStyle.Solid;
            tblFeedbacksPrincipal.BorderWidth = 1;

            tblFeedbacksPrincipal.Width = 750;


            //TableRow row = new TableRow();
            //TableCell ceel = new TableCell();
            //ceel.Controls.Add(tarefa);
            //row.Controls.Add(ceel);
            //tblTarefas.Controls.Add(row);
            // tblFeedbacks = null;


        }

        void btnFeedback_Click(object sender, ImageClickEventArgs e)
        {
            ImageButton button = (ImageButton)sender;
            // int l = Convert.ToInt32(button.ID);
            FindControlRecursive(this.Page, "pnl" + button.ID);

            //for (int i = 1; i < Panel1.Controls.Count; i++)
            //{

            //    // ((Panel)((UpdatePanel)t.Rows[t.Rows.Count - 1].Cells[0].Controls[0]).Controls[0].Controls[0]).ID
            //    Table t = (Table)Panel1.Controls[i];
            //    if ("btnFeedback"+
            //   ((Panel)t.Rows[t.Rows.Count - 1].Cells[0].Controls[0]).ID == button.ID) {

            //       ((Panel)t.Rows[t.Rows.Count - 1].Cells[0].Controls[0]).Visible = !((Panel)t.Rows[t.Rows.Count - 1].Cells[0].Controls[0]).Visible;
            //       break;

            //    }

            //}



            //for (int i = 0; i < tblTarefasPrincipal.Rows.Count; i++)
            //{
            //    for (int j = 0; j < tblTarefasPrincipal.Rows[0].Cells.Count; j++)
            //{
            //    TableCell c = tblTarefasPrincipal.Rows[i].Cells[j];
            //}
            //}


        }

        public void TabelaFeedback(string funcionario, string positivo, string feedback, string idFeedback)
        {

            Table tblFeedbacks = new Table();
            tblFeedbacks.Width = 750;
            //  Table tblFeedbacks = new Table();
            tblFeedbacks.BorderColor = Color.DarkSlateBlue;
            tblFeedbacks.BorderWidth = 1;
            tblFeedbacks.BorderStyle = BorderStyle.Solid;

            //row Funcionario
            TableRow rowFuncionario = new TableRow();
            rowFuncionario.BorderColor = Color.DarkSlateBlue;
            rowFuncionario.BorderStyle = BorderStyle.Solid;
            rowFuncionario.BorderWidth = 10;

            TableCell cellLblFuncionario = new TableCell();
            TableCell cellFuncionario = new TableCell();
            Label lblFuncionario = new Label();
            lblFuncionario.Text = "Funcionário";
            cellLblFuncionario.Controls.Add(lblFuncionario);

            Label lblConteudoFuncionario = new Label();
            lblConteudoFuncionario.Text = funcionario;
            cellFuncionario.Controls.Add(lblConteudoFuncionario);


            rowFuncionario.Controls.Add(cellLblFuncionario);
            rowFuncionario.Controls.Add(cellFuncionario);
            tblFeedbacks.Controls.Add(rowFuncionario);


            //row Positivo
            TableRow rowPositivo = new TableRow();
            TableCell cellLblPositivo = new TableCell();
            TableCell cellPositivo = new TableCell();

            Label lblPositivo = new Label();
            lblPositivo.Text = "Positivo";
            cellLblPositivo.Controls.Add(lblPositivo);

            Label lblConteudoPositivo = new Label();
            lblConteudoPositivo.Text = positivo;
            cellPositivo.Controls.Add(lblConteudoPositivo);



            rowPositivo.Controls.Add(cellLblPositivo);
            rowPositivo.Controls.Add(cellPositivo);

            tblFeedbacks.Controls.Add(rowPositivo);


            // row Feedback
            TableRow rowComentarios = new TableRow();
            TableCell cellLblFeedback = new TableCell();
            TableCell cellFeedback = new TableCell();

            Label lblFeedback = new Label();
            lblFeedback.Text = "Feedback";
            cellLblFeedback.Controls.Add(lblFeedback);

            Label lblConteudoFeedback = new Label();
            lblConteudoFeedback.Text = feedback;
            cellFeedback.Controls.Add(lblConteudoFeedback);


            rowComentarios.Controls.Add(cellLblFeedback);
            rowComentarios.Controls.Add(cellFeedback);
            tblFeedbacks.Controls.Add(rowComentarios);
            TableRow row = new TableRow();
            TableCell cel = new TableCell();
            LinkButton btnNovoComentario = new LinkButton();
            // btnNovoComentario.ImageUrl = "/Util/Imagens/help.png";
            btnNovoComentario.Click += new EventHandler(btnNovoComentario_Click);
            btnNovoComentario.ID = "numero" + idFeedback;
            btnNovoComentario.Text = "Comentar";
            cel.Controls.Add(btnNovoComentario);
            TextBox txtNovoComentario = new TextBox();
            txtNovoComentario.TextMode = TextBoxMode.MultiLine;
            txtNovoComentario.ID = "comentarionumero" + idFeedback;
            Button btnSalvarNovoComentario = new Button();
            btnSalvarNovoComentario.ID = "btncomentarionumero" + idFeedback;
            btnSalvarNovoComentario.Click += new EventHandler(btnSalvarNovoComentario_Click);
            btnSalvarNovoComentario.Text = "Salvar";

            Table tblNovoComentario = new Table();
            TableRow rowNovoComentarioLinha1 = new TableRow();
            TableCell cellNovoComentarioLinha1 = new TableCell();
            cellNovoComentarioLinha1.Controls.Add(txtNovoComentario);
            rowNovoComentarioLinha1.Controls.Add(cellNovoComentarioLinha1);
            TableRow rowNovoComentarioLinha2 = new TableRow();
            TableCell cellNovoComentarioLinha2 = new TableCell();
            cellNovoComentarioLinha2.Controls.Add(btnSalvarNovoComentario);
            rowNovoComentarioLinha2.Controls.Add(cellNovoComentarioLinha2);
            tblNovoComentario.Controls.Add(rowNovoComentarioLinha1);
            tblNovoComentario.Controls.Add(rowNovoComentarioLinha2);

            Panel pnlNovosComentarios = new Panel();

            pnlNovosComentarios.ID = "pnlnumero" + idFeedback;
            pnlNovosComentarios.Visible = false;
            pnlNovosComentarios.Controls.Add(tblNovoComentario);

            TableRow rowNovoComentario = new TableRow();
            TableCell cellNovoComentario = new TableCell();
            cellNovoComentario.Controls.Add(pnlNovosComentarios);
            rowNovoComentario.Controls.Add(cellNovoComentario);
            tblFeedbacks.Controls.Add(rowNovoComentario);


            if (tblComentariosPrincipal != null)
            {
                if (tblComentariosPrincipal.Rows.Count > 0)
                {




                    ////////////////////////////////////////////




                    ///////////////////


                    ImageButton btnComentario = new ImageButton();
                    btnComentario.ImageUrl = "/Util/Imagens/comentario.png";
                    btnComentario.Click += new ImageClickEventHandler(btnComentario_Click);
                    btnComentario.ID = "Comentario" + idFeedback;
                    cel.Controls.Add(btnComentario);



                    Panel pnlComentarios = new Panel();
                    pnlComentarios.ID = "pnlComentario" + idFeedback;
                    pnlComentarios.Visible = false;
                    pnlComentarios.Controls.Add(tblComentariosPrincipal);

                    TableRow rowTblComentarios = new TableRow();
                    TableCell cellTblComentarios = new TableCell();
                    cellTblComentarios.ColumnSpan = 2;
                    cellTblComentarios.Controls.Add(pnlComentarios);
                    rowTblComentarios.Controls.Add(cellTblComentarios);
                    tblFeedbacks.Controls.Add(rowTblComentarios);
                }

                //  tblComentarios = null;
                //  return tblFeedbacks;
            }

            row.Controls.Add(cel);
            tblFeedbacks.Controls.Add(row);
            if (tblFeedbacks != null)
            {
                if (tblFeedbacks.Rows.Count > 0)
                {


                    TableRow rowTblFeedbacks = new TableRow();
                    TableCell cellTblFeedabacks = new TableCell();
                    cellTblFeedabacks.Controls.Add(tblFeedbacks);
                    rowTblFeedbacks.Controls.Add(cellTblFeedabacks);
                    tblFeedbacksPrincipal.Controls.Add(rowTblFeedbacks);
                }
                //  tblComentarios = null;
                //  return tblFeedbacks;
            }
            tblComentariosPrincipal = null;
            tblComentariosPrincipal = new Table();
            tblComentariosPrincipal.Width = 750;
            tblComentariosPrincipal.BorderColor = Color.DarkSlateBlue;
            tblComentariosPrincipal.BorderStyle = BorderStyle.Solid;
            tblComentariosPrincipal.BorderWidth = 1;
        }

        void btnSalvarNovoComentario_Click(object sender, EventArgs e)
        {

            Button button = (Button)sender;
            string idFeedback = button.ID.ToString().Replace("btncomentarionumero", "");
            TextBox txtComentario = (TextBox)FindControlRecursive(this.Page, button.ID.ToString().Replace("btn", ""));

            Auxiliar.ExecutaComando(String.Format("INSERT INTO {0} ({1},{2},{3}) VALUES ({4},{5},'{6}')", Comentario.Tabela, Comentario.Funcionario, Comentario.ID_FEEDBACK_, Comentario.Comentarios, 1, idFeedback, txtComentario.Text));
        }

        void btnNovoComentario_Click(object sender, EventArgs e)
        {
            LinkButton button = (LinkButton)sender;
            FindControlRecursive(this.Page, "pnl" + button.ID);
        }

        //void btnNovoComentario_Click(object sender, ImageClickEventArgs e)
        //{
        //    ImageButton button = (ImageButton)sender;
        //    FindControlRecursive(this.Page, "pnl" + button.ID);
        //}
        private Control FindControlRecursive(Control root, string id)
        {
            if (root.ID == id)
            {
                if (root.GetType().FullName.Equals("System.Web.UI.WebControls.Panel"))
                {
                    ((Panel)root).Visible = !((Panel)root).Visible;
                }
                else
                {
                    if (root.GetType().FullName.Equals("System.Web.UI.WebControls.TextBox"))
                    {

                    }
                }
                return root;
            }

            foreach (Control c in root.Controls)
            {
                Control t = FindControlRecursive(c, id);
                if (t != null)
                {
                    return t;
                }
            }

            return null;
        }
        void btnComentario_Click(object sender, ImageClickEventArgs e)
        {
            ImageButton button = (ImageButton)sender;
            //// int l = Convert.ToInt32(button.ID);
            //Label lbl = Page.FindControl("lblDescProjeto") as Label;
            FindControlRecursive(this.Page, "pnl" + button.ID);









            // var tt = Page.FindControl("lblDescProjeto");
            //      var xx = Page.FindControl("MainContent_WUCVisualizarProjeto1_pnlComentario2");
            //var tt = Page.FindControl("lblDescProjeto");
            //for (int i = 1; i < Panel1.Controls.Count; i++)
            //{

            //    // ((Panel)((UpdatePanel)t.Rows[t.Rows.Count - 1].Cells[0].Controls[0]).Controls[0].Controls[0]).ID
            //    Table t = (Table)Panel1.Controls[i];
            //    if ("btnComentario" +
            //   ((Panel)t.Rows[t.Rows.Count - 1].Cells[0].Controls[0]).ID == button.ID)
            //    {

            //        ((Panel)t.Rows[t.Rows.Count - 1].Cells[0].Controls[0]).Visible = !((Panel)t.Rows[t.Rows.Count - 1].Cells[0].Controls[0]).Visible;
            //        break;

            //    }
            //}
        }


        public void TabelaComentarios(string funcionario, string comentario)
        {


            Table tblComentarios = new Table();
            tblComentarios.Width = 750;
            tblComentarios.BorderColor = Color.DarkSlateBlue;
            tblComentarios.BorderStyle = BorderStyle.Solid;
            tblComentarios.BorderWidth = 1;
            //row Funcionario
            TableRow rowFuncionario = new TableRow();
            rowFuncionario.BorderColor = Color.DarkSlateBlue;
            rowFuncionario.BorderStyle = BorderStyle.Solid;
            rowFuncionario.BorderWidth = 10;

            TableCell cellLblFuncionario = new TableCell();
            TableCell cellFuncionario = new TableCell();
            Label lblFuncionario = new Label();
            lblFuncionario.Text = "Funcionário";
            cellLblFuncionario.Controls.Add(lblFuncionario);

            Label lblConteudoFuncionario = new Label();
            lblConteudoFuncionario.Text = funcionario;
            cellFuncionario.Controls.Add(lblConteudoFuncionario);


            rowFuncionario.Controls.Add(cellLblFuncionario);
            rowFuncionario.Controls.Add(cellFuncionario);
            tblComentarios.Controls.Add(rowFuncionario);


            //row Comentario
            TableRow rowComentario = new TableRow();
            TableCell cellLblComentario = new TableCell();
            TableCell cellComentario = new TableCell();

            Label lblComentario = new Label();
            lblComentario.Text = "Comentário";
            cellLblComentario.Controls.Add(lblComentario);

            Label lblConteudoComentario = new Label();
            lblConteudoComentario.Text = comentario;
            cellComentario.Controls.Add(lblConteudoComentario);



            rowComentario.Controls.Add(cellLblComentario);
            rowComentario.Controls.Add(cellComentario);

            tblComentarios.Controls.Add(rowComentario);

            if (tblComentarios != null)
            {
                if (tblComentarios.Rows.Count > 0)
                {

                    TableRow row = new TableRow();
                    TableCell cell = new TableCell();
                    cell.Controls.Add(tblComentarios);
                    row.Controls.Add(cell);
                    tblComentariosPrincipal.Controls.Add(row);
                }
            }




        }


        protected void graficoProjeto_Load(object sender, EventArgs e)
        {

        }
    }
}